In order to achieve an audio signal with good quality, it is usually necessary to process the audio signal. Such an audio signal processing task may be performed in a frequency domain or time domain. In a frequency domain scheme, an input audio signal is transformed into the frequency domain so that the audio signal can be analyzed and filtered at the frequency subband level. In a time domain scheme, an input audio signal may be analyzed in time domain or frequency domain and is filtered in time domain. Generally speaking, one or more filters can be designed to process the audio signal for various purposes.
Compared to the frequency domain filtering scheme where the audio signal is processed on a frame basis with long latency and usually undergoes imperfect convolution, the time domain filtering scheme can provide ultra-low latency and improved linear convolution. In many use cases where real time processing with ultra-low latency is needed, such as voice communications, time domain filtering can be advantageously employed.
However, a challenge facing with the use of time domain filtering is the design of a time domain filter. Unlike a frequency domain filter, which can directly change its frequency response by simply adjusting the subband gains of the audio signal in the frequency domain, a time domain filter has to have its filter coefficients adapted so as to approach to a target frequency response as close as possible. Conventionally, the time domain filter used in an audio processing system is pre-trained offline with a fixed filter coefficient and thus a fixed frequency response. However, due to the time-varying nature of audio signal, it is desired to filter the audio signal by using a time domain filter with its filter coefficients adjusted in real time.